草庐IT

text to speech

全部标签

android - TextToSpeech.isSpeaking() 在什么情况下返回 true?

documentation说“检查TTS引擎是否忙于说话。”但我刚刚在onUtteranceCompletedListener中实现了对isSpeaking()的调用,其中我至少有10个待处理的话语并且在none我收到了true。假设isSpeaking()确实按照记录的方式工作,我必须得出结论,我调用它不正确。调用TextToSpeech.isSpeaking()返回有效结果的要点是什么? 最佳答案 回答自己,感谢遇到这个问题(也没有回答):ProblemwithisSpeaking()whenusingText-to-Speec

android - TextToSpeech 和内存泄漏

由于内存不足的情况(在程序中,而不是程序员),我的应用程序一直在崩溃。MAT显示我的Activity的副本有时会在屏幕旋转时保留下来,并且唯一使伪造副本保持Activity状态的对象是每个实例的TextToSpeech对象。我可以使用此代码段复制此行为:publicclassMainActivityextendsActivity{TextToSpeechmTts;char[]mBigChunk=newchar[1000000];//notused;justmakesMainActivityinstanceseasiertoseeinMAT@Overrideprotectedvoidon

android - KitKat 在第一次调用时比 Froyo 多花 6 秒对 TextToSpeech.speak() 使用react

在运行最新版本Android的最新手机上,与旧手机相比,TextToSpeech引擎在首次调用时可能需要大约6秒的时间才能使用react。我的测试代码如下所示。(已编辑:Android4.0.3IceCreamSandwich、API15及更高版本的替代代码,最后显示。)在运行4.4.4KitKat的1岁摩托罗拉MotoG上,TextToSpeech引擎可能需要7秒以上才能完成对speak()单词“Started”的首次调用。这是我的代码的输出。D/speak﹕call:1415501851978D/speak﹕done:1415501859122,delay:7144在运行2.2Fr

android - 如何在 Android 中字符串超过 4000 个字符时使用 TTS(TextToSpeech)

我正在开发一个模块来读取文本文件并使用TTS播放语音。我已经成功地将TTS集成到我的模块中。以及阅读和说前4000个字符。我有超过4000个字符的字符串,它也可能有超过10000个字符。目前我无法使用TTS读取文件和播放。我曾尝试将大字符串拆分为一小部分字符串。每个字符串部分有4000个字符。当我演奏第一个弦乐部分时,它按要求工作正常。但在完成第一部分后,我想立即开始第二部分。但TTS没有启动它。我正在使用intpos=0;while(true){Stringvar="";try{var=str.substring(pos,3999);pos+=3999;}catch(Exceptio

android - 语音识别和文本转语音

我想开发一个实现语音识别的应用程序,然后使用文本到语音引擎实现文本到语音。我在下面发布了代码。我使用两个按钮和一个ListView。一个按钮用于语音识别,另一个用于文本到语音,ListView用于两者(首先在ListView中发布语音识别的结果,然后应用程序将从ListView中读回单词)。当我触摸语音识别按钮时,单词会发布在我的ListView中,但问题是当我按下文本到语音按钮时,应用程序不会从ListView和我的logcat中读回单词我按下这个按钮我没有收到任何关于此的信息。这是我的程序:packagertv.rtv.rtv;importandroid.app.Activity;

android - 为什么 TextToSpeech.getLanguage() *有时* 会返回 null?

在我的应用中,我调用了TextToSpeech.getLanguage()在实例化TextToSpeech之后很好(根据LogCat,大约800毫秒),但它有时(不总是)返回null,尽管在系统的TextToSpeech设置中正确设置了语言:SystemSettings>Language&input>Text-to-speechoutput>GoogleText-to-speech>English(UnitedKingdom)这只发生在JellyBean(Android4.1.1)中。它不会发生在Android2.2中。这是一个已知的Android错误吗?还是我做错了什么?顺便说一句,

android - TextToSpeech 变声

我希望能够将文本中的语音更改为语音API,例如更改:从女性到男性的声音。让声音更清晰改变语速如果可能的话,请有人告诉我。谢谢。 最佳答案 您可以通过addSpeech()为特定字符串提供您自己的转换。不过,AFAICT没有关于如何替换您自己的文本到语音引擎的文档。 关于android-TextToSpeech变声,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5127444/

android - 即使包不可用,TextToSpeech.setEngineByPackageName() 也会返回成功

感谢thisanswer,在设法使TextToSpeech.setEngineByPackageName()工作之后,我现在遇到了“相反”的问题:tts.setEngineByPackageName("com.ivona.tts.voicebeta.eng.usa.kendra");总是返回TextToSpeech.SUCCESS,即使该包不是完全安装在设备中。由于该包在设备上不可用,TTS继续与Android的默认pico对话,这是预期的,但我不明白为什么setEngineByPackageName()返回成功。这怎么可能? 最佳答案

android - 更改 Android 的 Text To Speech 的默认语音

我在我的应用程序中使用Android的文本转语音默认引擎,但是女性的声音听起来像一个40多岁的女人,而且她的声音有点机械。我看到其他似乎使用Google内置TTS的应用程序,但听起来好多了,即年轻女性的声音更自然。Android主Google搜索中也使用了这种“自然”语音,例如当你按下麦克风并问一个问题(Siri风格),比如“谁是美国总统”时,女人的声音会告诉你答案。这个语音在代码中如何实现?基本上这就是我在代码中所做的:TextToSpeechtts=newTextToSpeech(this,this);...tts.setLanguage(Locale.US);tts.speak(

android - 如何让 TextToSpeech 以最大音量朗读文本并在朗读结束后恢复原始音量?

我在sTts.get().speak(s,TextToSpeech.QUEUE_ADD,null)之前保存了STREAM_RING和STREAM_MUSIC的当前音量,我希望TextToSpeech可以用最大音量说出文本,但实际上我发现TextToSpeech用当前音量朗读文本,似乎sTts.get().speak是异步的。如何让TextToSpeech以最大音量朗读文本并在朗读结束后恢复原始音量?谢谢!publicclassSpeechTxt{privatestaticSoftReferencesTts;publicstaticvoidSpeakOut(finalContextcon